// pages/commonication/commonication.js
const http = require("../../api/camp")
const {
    baseURL
  } = require("../../utils/request")
  import Toast from '@vant/weapp/toast/toast';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    baseURL:baseURL,
    addBoxFlag:false,
    content:"",
    imageList:[],
    commonicationList:[],
    images:[],
    positionName:"",



  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {

    var that=this
    //查询所有营地交流信息
    http.campCommonicationList().then((res)=>{
        console.log("commonication:res: ",res)
        if(res.code==200){
            //查询出所有交流数据并赋值
            that.setData({
                commonicationList:res.rows
            })
            console.log("commonicationList: ",that.data.commonicationList)
        }
      
    })
    this.getUserLocation()
   
   
  },
 

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

    // 弹出交流添加页面
    onShowCommonication: function (e){
        console.log("弹出交流添加页面")
        this.setData({
            addBoxFlag: true
        })
        console.log("弹出交流添加页面 imagesList: ",this.data.imageList)
      
   },
   //关闭交流添加页面
   onCommonicationClose() {
     this.setData({
         addBoxFlag: false
     })
   },
     // 绑定内容
    changeContent(e) {
    this.setData({
      content: e.detail.value
    })
  },
   //删除图片
   delImgs(u) {
    this.data.imageList.splice(u.currentTarget.dataset.index, 1)
    this.setData({
        imageList: this.data.imageList
    })
  },
  //获取图片
  getUploadList(e) {
    console.log("getUploadList e:",e)
    this.setData({
        imageList: e.detail,
   
    })

    console.log("imageList: ",this.data.imageList)
  },
  //发布，添加交流信息
  issue(){

    if(this.data.content==""){
        Toast.fail("内容不能为空");
    }else{

   
      var images=this.data.imageList

      for(var i=0;i<images.length;i++){
          var imageObj={
              url:images[i]
          }
          images[i]=imageObj
      }
      console.log("images: ",images)

      

      var obj={
          userId:wx.getStorageSync('userInfo').userId,
          content:this.data.content,
          imageList:images,
          positionName:this.data.positionName
      }
     //营地交流信息添加
     http.campCommonicationAdd(obj).then((res)=>{
        console.log("commonicationAdd: ",res)
        if(res.code==200){
            //添加成功
            Toast.success('添加成功');
            //关闭弹窗
            this.onCommonicationClose()
            //重置数据
            this.reset()
            var that=this
            //重新查询所有数据
            http.campCommonicationList().then((res)=>{
                console.log("commonication:res: ",res)
                if(res.code==200){
                    //查询出所有交流数据并赋值
                    that.setData({
                        commonicationList:res.rows,
                       
                    })
                }
                console.log("commonicationList: ",that.data.commonicationList)
            })
        }
        
    })
}
  },
  reset(){
      this.setData({
        content:"",
        imageList:[],
      })
      console.log("imageList reset: ",this.data.imageList)
  },
  previewImage(currentImg) {
      console.log("currentImg: ",currentImg)
      console.log("currentImg.target.dataset.index: ",currentImg.target.dataset.index)
      console.log("currentImg.target.dataset.images: ",currentImg.target.dataset.images)
      var images=currentImg.target.dataset.images
      for(var i=0;i<images.length;i++){
          images[i]=this.data.baseURL+images[i].url
      }
      this.setData({
        images:images
      })
      console.log("images: ",this.data.images)
    wx.previewImage({
      urls: this.data.images, // 需要预览的图片url列表
      current:  currentImg.target.dataset.index // 当前显示图片的http链接
    });
  },


  getUserLocation() {
    wx.getLocation({
      // type: 'wgs84',
      type: 'gcj02',
      success: (res) => {
        console.log(res,"返回的数据")
        this.setData({
          latitude: res.latitude,
          longitude: res.longitude,
        //   markers: this.data.markers
        
        });
        wx.chooseLocation({
            latitude: this.data.latitude,
            longitude: this.data.longitude,
            success:(res)=>{
                console.log("chooseLocation 返回的数据",res)
                var positionName=this.getProvinceFromAddress(res.address)
                console.log("getProvinceFromAddress 返回的数据",positionName)
                this.setData({
                    positionName:positionName
                })
                console.log("positionName: ",this.data.positionName)
            }
        })
    },
      fail: (err) => {
        console.error('获取位置失败:', err);
      },
      complete: () => {
        console.log('位置获取操作已完成');
      }
    });
  },

  getProvinceFromAddress(address) {
    // 地址字符串（示例）
    const addressStr = address;
   
    // 定义一个包含所有省级名称（包括自治区、直辖市等）的数组
    // 注意：这里只列出了部分示例，实际使用时需要补充完整
    const provinces = [
      '北京市', '天津市', '上海市', '重庆市', '河北省', '山西省', '辽宁省', '吉林省', '黑龙江省',
      '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省',
      '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省', '台湾省',
      '内蒙古自治区', '广西壮族自治区', '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区',
      '香港特别行政区', '澳门特别行政区'
    ];
   
    // 将地址字符串按空格分割成数组
    const addressParts = addressStr.split(' ');
   
    // 遍历分割后的数组，查找匹配的省级名称
    for (let i = 0; i < addressParts.length; i++) {
      const part = addressParts[i];
      console.log("part", part)
      for (let j = 0; j < provinces.length; j++) {
        const item = provinces[j];
        
        if (part.includes(item)) {
          return item; // 找到匹配的省级名称，返回
        }
      }
    }
   
    // 如果没有找到匹配的省级名称，返回null或空字符串
    return null; // 或 return '';
  },

})